home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_1
/
mmngr134.zip
/
MAILMGR.ZIP
/
MAILFIX.DOC
< prev
next >
Wrap
Text File
|
1992-05-29
|
9KB
|
206 lines
MAILFIX - An alternate purge/repair utility for RBBS-PC message bases
v1.10 - 11/19/91
(MailFix has not changed between versions 1.10 and 1.34)
This release is guaranteed to work for, (and satisfy) myself only.
If you can use it, enjoy! If you can't, delete it and save a few K
on your hard disk.
***** NOTE *****
This version of MAILFIX is NOT fully compatible with the multiple
message headers which are (optionally) present in the current
RBBS-PC v17.4 betas. This version of MAILFIX could conceivably
fail to correct a multi-header message, if the following condition
occurs:
One of the message headers is corrupt, yet the FIRST header of
the message is OK.
Admittedly, the likelihood of this happening is slim, but the
possibility exists nonetheless. If MAILFIX does happen to run
across this condition, it will assume that the message is OK,
and will not attempt to correct it.
Mail Manager itself *IS* fully compatible with multi-header msg
bases, such as they are in the current v17.4 betas of RBBS-PC.
USAGE:
-----
MAILFIX [/V] [/F] [/R] [/O] [/Knnn] D:\PATH\MESSAGE.FIL
/V - View the integrity of the message file only. Do not
perform the actual repair work, and do not create the
output file.
/F - Informs MAILFIX that this is a fixed-length message
base. If "/F" is not chosen, MAILFIX assumes the
message base to be configured as 'elastic'.
/R - Informs MAILFIX that the sysop uses RBBMail or MsgToss
on this message base. Both of these mail processors
format the time field in the message header with a
period instead of a colon, which CONFIG's option #185
(repair messages) chokes on.
/O - Informs MAILFIX that the sysop uses OverMail on this
message base. OverMail formats the time field in the
message header with a semicolon instead of a colon,
which CONFIG's option #185 (repair messages) chokes on.
/Knnn - (Where "nnn" is the number of messages to keep.):
Tells MAILFIX to trim down the physical size of the
message base, regardless of whether or not the
messages to delete are flagged as "killed". This
is useful for things like an echo area that grows
almost out of control daily. "nnn" must be 3 digits.
If you want to keep 50 messages, your switch would
be "/K050".
* NEVER use this switch in conjunction with "/V"!
~~~~~
Use of this option will OVERWRITE your original
message file!
D:\PATH\MESSAGE.FIL is the name of the messages file to
purge/repair.
Unless the /V option is used, MAILFIX will create an output
file with the same name and the extension '.FIX'. Above
example would create D:\PATH\MESSAGE.FIX.
If the /Knnn switch is used, MAILFIX will make a second
pass on your message base, using the *.FIX file for input,
and the original file name for output. When finished
your original message file will have been replaced by
MAILFIX's work, and the *.FIX file will be deleted.
TECHIE STUFF FOR THOSE WHO CARE:
-------------------------------
If you run a mail system that utilizes RBBSMail, MsgToss, or OverMail for echo
mail processing, you're likely to have run across the fact that the repair
utliity out of CONFIG (option #185) no longer works for you. This is due to
the fact that these mail processors place either a period or a semicolon
in the time field of the message header on every message that they process.
This just happens to be one of CONFIG's five "key fields" that it looks at
to determine whether or not the message is corrupt.
These key fields are:
Description Should be
------------------------------------------- ---------
The "killed" flag, Ascii 225 or 226 "ß,Γ"
the first separator in the 'time' field, ":"
the second separator in the 'time' field, ":", ".", or ";"
the first separator in the 'date' field, "-"
and the last separator in the 'date' field. "-"
Therefore, this string of five characters is very important, and is what
will be displayed to you if the message needs repaired, and you specify
the "/v" option on MAILFIX's command line. If you don't specify "/v" on
the command line, MAILFIX will do it's best to fix the message, and report
"<fixed>".
If you use a mail processor on your RBBS-PC message bases OTHER than
RBBSMail, MsgToss, or OverMail, and said mail processor *DOESN'T* use
a period or semicolon as its 'mark' in the second separator in the TIME
field, we'd sure like to hear about it so that we can attempt to make
MailFix compatible with your system.
WHEN, AND HOW MAILFIX FIXES A MESSAGE:
-------------------------------------
To determine whether or not a message is valid, MAILFIX looks at the
following in the message header:
Message number - Should never be zero.
Killed flag - Should always be ASCII 225 or 226.
Number of 128-byte records - Should never be less than 1.
If the message header passes these three tests, MAILFIX assumes it has
a valid message on it's hands, and moves on to do one of three things:
- Copy it (if it isn't marked as killed, and doesn't need fixed).
MAILFIX will step through the message's records and write
them to the output file.
- Fix it (if it isn't marked as killed).
If, during all of it's checks, MAILFIX finds that it has
a valid message on it's hands, yet the five key characters
mentioned above DON'T MATCH what they're supposed to,
the message header is adjusted as follows:
* Sets the "killed" flag to indicate that this is an
active message (Ascii 225) "ß".
* Sets the TIME separators to:
:: - RBBS-PC (un-scanned by RBBSMail/OverMail)
:. - RBBSMail
:; - OverMail
You must have specified "/R" or "/O" on the command line
for the RBBSMail/OverMail checks to take place.
If "/R" or "/O" is specified, MAILFIX is smart enough to
discover whether or not the message has been scanned by
either one of these mail processors yet, and will not mark
an un-scanned message with the special "." or ";" separator.
* Sets both DATE separators to "-".
- Purge it (if it's marked as killed).
MAILFIX will skip the entire message (and it's records) if
the message is marked as killed (ASCII 226) "Γ".
If the message didn't pass the tests, MAILFIX assumes that this is
not a message header, reports to you as such, purges the offending
record, and moves on to the next one.
EXAMPLES:
--------
Unless you use the "/Knnn" command line option, MAILFIX will
not overwrite (or modify in any way) your original message
file. If you want to replace your old message file with the
one that MAILFIX creates, your best bet is to run MAILFIX from
a batch file, like so:
MAILFIX C:\RBBS\MAINM.DEF
IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.DEF
IF EXIST C:\RBBS\MAINM.FIX COPY C:\RBBS\MAINM.FIX C:\RBBS\MAINM.DEF
IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.FIX
On the other hand, if you have an echo area that's scanned
by RBBSMail, and you want to keep it purged down to 100
messages, your command line would be:
MAILFIX /R /K100 FILENAME.DEF
If you wanted to do the same thing with a message base that's
been scanned by OverMail:
MAILFIX /O /K100 FILENAME.DEF
Either of these last two examples would replace "FILENAME.DEF"
with the fixed/purged/pruned message base.
Run MAILFIX without a command line to get a help screen.
Chip Morrow, Sysop
Newark Connection RBBS
Data (614) 366-4392
PO Box 2023
Heath, OH 43056